home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-10-23 | 90.4 KB | 1,612 lines |
- Guidelines to use 8-bit character codes
-
- A. Pirard
- University of Liege
- Belgium
-
-
- Important preliminary notice
-
- This file contains translation tables. As indicated, they translate
- some of the characters arbitrarily and a decision of the constructor who
- defined the proprietary codes would be welcome so that everybody use the
- same translation. Hence, my publishing them may work opposite to my goal
- if somebody uses them and doesn't check later if a standard table exists.
- So, I'll try to watch myself and clearly update this paragraph along with
- the standard version of the tables themselves when the miracle occurs.
-
-
-
- In the course of my work in communications in a French-speaking
- environment -- writing programs, installing but mostly having to adapt
- others -- I discovered facts, notions, techniques and data related to
- international characters usage. Many English-speaking programmers are
- willing to extend the scope of their software to what is for them
- "foreign languages". Discussion with them is often lengthy to convey
- numerous details that are obvious to one and obscure to the other. Trying
- to help without repeating the same words all over again is the reason of
- this document.
-
- This text is restricted to the problem of the character codes used
- in data. Yet, I should mention briefly that isolating from executable
- code the user interface messages is a real plus. These messages should be
- easily translatable for by anyone who knows the language, even if source
- is unavailable. Anything similar to the Macintosh resources is ideal. To
- avoid making feel this too easy, I must however warn than phrases in many
- languages are longer than English and that the order of inserts may vary
- depending on grammar.
-
- I am much indebted to the people I met on these networks, on the
- mailing list ISO8859@JHUVM (especially Edwin Hart HART@APLVM, with his
- SHARE White Paper to IBM and Johan van Wingen, a character codes
- specialist), in the Kermit developpers group animated by Frank da Cruz
- and many volunteers led by Christine Gianone, and to the so many others I
- am unable to mention.
- At the risk of a lack of justification, I have made every effort to
- keep this text as concise as possible to spare your time and one will
- have to think beyond the text in some places. On the other hand, please
- excuse if some paragraphs contain evidence: it is sometimes needed. Also
- remember that English is not my mother language...
-
- A language among others: French.
-
- Like many other languages, French uses characters not found in
- English. It likes to adorn them with diacritics (accents). Other
- languages have other characters, from a few like German to totally
- different like Russian and Greek, or even the right to left Arabic and
- Hebrew. To the question: "could you do without them?", I like to reply
- that forgetting them in "a la francaise" makes it mean "has the French
- girl". "a" must take a grave accent to distinguish the preposition from
- the verb and "c" takes a cedilla. French without diacritics is just as
- unpleasant as all-uppercase text and very difficult to read, stumbling on
- each and every missing accent, like proof-reading one's kid dictation. In
- the general case, many languages cannot do without their own characters.
-
- 7-bit character codes
-
- A "character" is what one writes down on paper. A "code" is a
- computer representation of a set of characters that we can see as
- associated to numbers, called "code points". A code usually includes
- "control characters" for which a graphic representation does not normally
- exist, because they are only used to control the operation of hardware or
- have special meanings to programs.
-
- ASCII (ANSI X3.4) was defined as a 7-bit code for English at a time
- when hardware was really hard and expensive. To allow the use of some of
- those particular characters that other languages need, it was later
- decided that a defined set of the least used ones could be replaced. This
- is ISO 646. Several language have the set replaced with their own
- characters. This is what can be done with Escape sequence of Epson
- printers to switch to a national language. ANSI X3.4 is an instance of
- ISO 646. But, for some languages like French, the amount of characters
- that can be replaced is not enough and text processing of these days made
- extensive use of backspaces and overstrikes for the missing ones.
-
- US EBCDIC used more or less the same characters as ASCII, but used
- different code points. I should say "more and less". Some ASCII
- characters did not exist in EBCDIC (e. g. brackets) and EBCDIC had ones
- (cent sign, not sign) that were not in ASCII. As a consequence, the
- translation between ASCII and EBCDIC was strictly speaking undefined, and
- IBM never officially defined a single complete one. Albeit EBCDIC was an
- 8-bit code "with holes", IBM made the same characters replacements as ISO
- 646 in hardware to be used with other languages (but as other characters
- were missing, this was of little use to French).
-
- Even though data was stored in octets, 7-bit communication line were
- used and it was common practice for software to strip off the 8th bit
- despite a possible extension of the code, future or existing.
-
- 8-bit character codes
-
- Storing in a database text full of "this backspace that", trying to
- sort it etc... or getting a Sterling pound bill paid in dollars because
- that's what the dollar sign is replaced with in the English version of
- ISO 646 was a real pain an insult to the octet. It was soon realized
- that, even if text processing could cope with compound characters, data
- processing could not. One character must be one data element.
- With the era of cheaper hardware and microcomputers, manufacturers
- started to use the upper half of the 256 code points for international
- characters. It was one major reason of the success of these computers
- over here.
- But there was no standard and each did it his own way as to both
- which characters and which code points to use, like to-day's DEC, Apple,
- Atari, Commodore or other less known brands. The IBM PC was built with
- yet another code that was later called "code page 437" and that everyone
- in the compatible business settled on. But IBM also built PCs with
- variations for countries using characters that were not in 437, now
- called 860, 863 and 865.
-
- There was an evident Babel and a new standard had to be set.
- National institutions and many constructors participated to produce the
- ISO 8859 standard. As 256 code points are not enough for all languages in
- the world, several "versions" of this standard exist (see below for a
- list, still evolving). ISO 8859-1 is for group 1 of Latin-based languages
- and covers Western Europe, including English, hence many major countries
- in North and South America, Australia and many others world wide. A new
- multibyte standard is being prepared: ISO 10646, that will cover all
- languages in a single code. ISO 8859-1 is the sigle-octet-compacted
- subset of ISO 10646. Until it can be used, today's hardware and software,
- strongly single-byte oriented, can easily extend the scope of a character
- code to 8 bits and a version of ISO 8859. The particular version used
- being implicit to a language is indeed sorry, but it must be understood
- that it is a dramatic improvement in a country where data is implicit
- anyway.
- For short, I may call "ISO 8859" or simply "ISO" in the following
- text any version that a system uses at any one time, when assuming that
- the systems do not switch versions dynamically, but that the user can
- setup the choice of the version he uses, if not implied by hardware.
-
- ISO 8859 (any version) is an extension of ASCII. The upper half (in
- fact, 128-159 are reserved for more control characters) is filled with
- characters for a group of countries. The present trend to use ISO 8859 is
- certain. Version 1 is much like the previous DEC's "8-bit ASCII code",
- and VT terminals now have Escape sequences to switch among and display
- several ISO 8859 versions. If one looks at Microsoft and Lotus
- international codes, one sees that they had soon adopted a "pre-release"
- of ISO 8859-1. As explained below, IBM have adopted ISO 8859-1 their own
- way. X-Windows specifications (from MIT, of a presentation system on a
- remote graphic terminal) prescribe that ISO 8859-1 is to be used on the
- communication line.
-
- ISO 8859-1, Latin Alphabet 1, for Dutch, English, Faeroese, Finnish,
- French, German, Icelandic, Irish, Italian, Norwegian, Portuguese,
- Spanish, and Swedish.
- ISO 8859-2, Latin Alphabet 2. Albanian, Czech, English, German,
- Hungarian, Polish, Romanian, Serbocroation, Slovak, and Slovene.
- ISO 8859-3, Latin Alphabet 3, for Afrikaans, Catalan, English, Esperanto,
- French, Galician, German, Italian, Maltese, and Turkish.
- ISO 8859-4, Latin Alphabet 4, for Danish, English, Estonian, Finnish,
- German, Greenlandic, Lappish, Latvian, Lithuanian, Norwegian, and
- Swedish.
- ISO 8859-5, the Latin/Cyrillic Alphabet, for Bulgarian, Byelorussian,
- Macedonian, Russian, Serbocroation, and Ukrainian.
- ISO 8859-6, the Latin/Arabic Alphabet.
- ISO 8859-7, the Latin/Greek Alphabet.
- ISO 8859-8, the Latin/Hebrew Alphabet.
- ISO 8859-9, Latin Alphabet 5, for Danish, Dutch, English, Faeroese,
- Finnish, French, German, Irish, Italian, Norwegian, Portuguese, Spanish,
- Swedish, and Turkish.
-
- The "foreign" environment.
-
- So, these facts of languages have our typewriters different, and the
- computer keyboards are modelled after them. A few letters shifted about,
- digits on the uppercase side, accented letters in place of programming
- symbols etc.. More striking, if you pardon the pun, is that the amount of
- keys is not enough for all the French characters. Just like a typewriter
- could overtype, some so-called dead-keys are used to compose accented
- letters by a strike of the accent followed by one of another letter,
- giving a single code point as program input.
-
- It must be realized that, to an international computer user, an 8-
- bit code is just as natural as the 7-bit one of English-speaking users.
- 8-bit code points "come out" some plain keys of the keyboard and are
- expected to display. If a program filters them out, it will be shocking.
- Worse, if it uses these code points for internal control functions, the
- user will be confused with "strange behavior" a US keyboard would never
- produce. For example, if it strips the 8th bit of a PC e-acute, it
- produces a disturbing linefeed. Or if a program decides that normal
- characters belong to the range 32-127, this will play havoc. It is worth
- checking a program with such data, that some keyboards can produce with
- alternate input.
-
- Trust little about the keyboard layout like physical scan-codes. The
- only reliable input is through the operating system or country-
- configurable keyboard interface. Trying to use a keyboard redefinition
- system consisting of macros transforming some hardware level input causes
- problems too, because the dead-keys make two inputs and the system
- interface used could just not see them at all.
-
- 8-bit codes in communications.
-
- We now realize that exchanging data between those computers with
- proprietary 8-bit codes is to us exactly like sending data from an ASCII
- machine to an EBCDIC one: translation has to occur somewhere (which is to
- translate what to what?). Communication, if to work at all, relies
- heavily on strict standards. If communication between EBCDIC and ASCII
- computers is feasible, it is because of the well known fact -- so well
- one often forgets to state it -- that character on a communication line
- must be ASCII. Just imagime there is nothing such to us...
- It is urgently needed to stop all sorts of hacking. I know of at
- least 25 different codes similar to ISO 8859-1 that a file receiver must
- try to guess from which translate to its own. This makes over 1000
- translation tables.
-
- The only solution is to state that each and every octet of text data
- carried on a communication line cannot be anything else that an official
- standard and that, while waiting for a single multi-octet standard, each
- language uses only one standard. ISO 8859 fills this purpose and is the
- only official standard. It is already used by major firms and some
- protocols like X-Windows.
-
- The conclusions are:
-
- - If a computer is forced to continue using a code different from but
- with a character set similar to a version of ISO 8859, it must behave
- with regard of what it sends on and receives from communication lines as
- if it were using that version of ISO. This means that the key feature of
- protocols (like file transfer in text mode or electronic mail) is to
- implement translation of the data that this protocol exchanges with the
- communication line. This applies to both services provided by a host and
- terminal functions provided by stations.
- - In normal usage, this translation is expected to always be to ISO 8859,
- but, to ease the transition period, the table is best customisable and,
- even better, selectable, especially to revert to the compatible case of
- null translation.
- - If a computer does not and cannot use one of the ISO 8859 codes, but
- uses a character set close to one, a requirement is to define a "best
- fit" translation between the proprietary code and that ISO version for
- text file transfer. The important point is that this translation must be
- invertible for all the 256 characters, even if this translates characters
- to totally different ones to be used for functions like file transfer.
- The reason is that doing otherwise permanently corrupts data that cannot
- be processed later. It is better to obtain an apparently unreadable disk
- file that can be sent back unaltered than to transliterate it with
- lookalike characters and introduce confusion about what was the initial
- data. And even if a system does not use a subset of the code points, it
- may have to receive files from systems that do, and translation that is
- not one-to-one and invertible means unusable data.
- - The main difficulty is that this translation should be unique for a
- given system. Someone has to rule what the translation is exactly but it
- is difficult to convince a constructor of this necessity. Indeed, for two
- different software packages written for the same system to be able to
- talk to each other, the translation must be implemented the same way in
- each (i. e. inverted, meaning one-to-one consistency) and not disabled.
- - When a choice for a new code of a system has to be made, it seems
- obvious that the painless one to avoid any translation is the only
- standard: a version of ISO 8859. For example, this applies to Unix
- systems now migrating to 8 bits: they must store ISO 8859 data. This is a
- choice of the code used by the terminals, but also of in what code to
- display system messages translated to national language for the terminals
- to read them correctly.
- - For communication programs that usually provide VT100 terminal mode, it
- is not necessary to provide the full features of the higher VT models
- that can switch character codes to get something usable. Moreover, it is
- not desirable to impose that the hosts a terminal is connected to do have
- to send character codes switching escape sequences in order to initiate
- the use of national characters. The best is to be able to setup terminal
- mode with an initial state of what display the GR code points (values
- above 127). This way, using ISO 8859 will only be a "matter of fact" to
- the host and neither has to know about code switching. This is especially
- true when the only possible thing a microcomputer can do is display ISO
- with a "useful translation" of the GR set of its own similar character
- set, like the IBM PC or an Apple Macintosh with standard fonts.
-
- Now, one important remark about implementing translation with a
- proprietary code. With a high variety of protocols exchanging various
- data formats or structures with the outside world, it is a wrong approach
- to try to translate at the communication line interface. It is much
- easier to translate "where the things go wrong", that's at the keyboard,
- screen, pipes, file access etc.. interfaces. The remarkable result is
- that every data the application processes in memory is ISO 8859, as if it
- executed in an ideal system, that the application (and its messages
- files) remain portable for such systems or applications implementing this
- method and that the modifications to be made to various applications are
- the same, because they are confined in the host system interfaces.
-
- IBM and ISO 8859-1
-
- For the PC, IBM has now adopted the character set of ISO 8859-1 with
- a different code. This was done by replacing some characters of the
- original PC's code, now called code page 437, to obtain all the
- characters of ISO 8859-1. This new code is called "code page 850" and IBM
- sees it as the preferred code page for all Latin1 customers (it's their
- default code for OS/2). See the appendix D of the "DOS reference manual"
- for a description of 850 and the code pages it may replace: 437, 860, 863
- and 865. Beware, the yen, cent, and two paragraph symbols that existed
- in 437 moved in 850. When one builds a translation table between 850 and
- ISO 8859-1, 32 characters of 850, mainly box-drawing, are left to be
- assigned to the 32 control characters 80-9F of ISO. IBM does not tell us
- how to do that.
-
- For the EBCDIC mainframes, IBM decided that, because terminals were
- already using the ISO-646-like replacements to the US EBCDIC, they had to
- stay compatible. They extended each such "national EBCDIC" to "country
- extended code pages". Thus, there are as many EBCDICs as versions of ISO
- 646 (what ISO 8859 is trying to avoid):
-
- CECP 037 for US, Canada-French, Netherlands, Portugal.
- CECP 273 for Germany.
- CECP 277 for Denmark and Norway.
- CECP 278 for Finland and Sweden.
- CECP 280 for Italy.
- CECP 284 for Latin America and Spain.
- CECP 285 for United Kingdom.
- CECP 297 for France.
- CECP 500 for Belgium, Switzerland-French and Switzerland-German.
-
- Like 850, all these codes contain all the characters of ISO 8859-1.
- Also 32 more control characters that, again, we are not told how to
- translate to ISO. We have evidence for printable characters from code
- pages publications. We have a hint for control characters from an EBCDIC
- to ISO 2022 translation table in a Fortran manual.
- As the OS/2 Communication Manager implements revertible translation
- across all these codes, we may also deduce from its EBCDIC/PC code
- translation what the translation of the PC control characters to ISO
- could be. But indeed we would need more official information. Moreover,
- we have no hint for the characters of code page 437 that do not belong to
- ISO, and, compared to 850, the the Communication Manager translates them
- differently to EBCDIC, even those box graphic characters that are the
- same in 850 and 437.
-
- A really strange feature is that none of these CECPs is compatible
- with a de-facto standard EBCDIC, corresponding to a de-facto ASCII/EBCDIC
- translation, that a huge amount of products settled on long ago,
- including software from IBM:
- - all compilers from IBM or others: C, REXX, PL/I, Pascal, for those
- sensitive to the differences in code points,
- - File transfer programs like Kermit, PCTERM, and IBM TCP/IP,
- - Terminal emulation: TTY line mode or 3270 emulation by the 7171,
- - ASCII tapes translation,
- - Products to translate ASCII to EBCDIC on a mainframe: ARCUTIL ...
- - Products that should produce ASCII, but produce EBCDIC because data
- goes through EBCDIC/ASCII translation: e. g. SAS output for Tektronix,
- - Products that convert this output anyway, because the expected
- EBCDIC/ASCII translation does not occur: LINEMODE through the 7171
- transparent mode,
- - Similarly, TPRINT to print in this transparent mode
- - Certainly many other products I don't know of or I forget, because, as
- you see, the de-facto EBCDIC snowballs from one to the other,
- - Last but far from least, it's the translation made by most gateways
- that relay mail between BITNET and the Internet. (BITNET is an IBM-
- proprietary network where data is EBCDIC. Internet is a worldwide ASCII
- based network where mail is implemented by the SMTP protocol. But SMTP is
- further gatewayed with other ASCII based mailing networks.) Gateways must
- all use the same translation so that the network appears transparent from
- the outside and predictable from the inside. Of special importance is
- that of the encoding of data that is to be transmitted by e-mail
- (UUENCODE, BOO, HQX...): if the ASCII-EBCDIC-ASCII translation fails to
- be invertible, the user gets error messages or, if the encoding method
- has no data integrity check, simply the wrong data without warning.
-
- The closest to the de-facto EBCDIC is CECP 037 with the differences:
-
- ASCII EBCDIC CECP 037
- 5B AD BA left bracket
- 5D BD BB right bracket
- 5E 5F B0 circumflex accent
-
- What is getting ridiculous is that all compilers expect brackets at
- AD and BD, that none of the CECPs use these code points, and that the
- Communication Manager only knows about CECPs and is unable to transfer a
- file containing C-language statements from the IBM-PC-C-compiler-ASCII to
- the mainframe-C-compiler-EBCDIC.
-
- The requirement #1 of SHARE is that IBM use a single EBCDIC code for
- Latin group 1 and publish it. Using an extension of de-facto EBCDIC is
- recommended (said otherwise, 037 with 3 code points swapped as above). I
- have asked that, whatever the ISO 8859-x version, its translation to an
- equivalent CECP use the same ISCII/EBCDIC table, so that ISCII/EBCDIC
- translation be independent of the particular version.
- There is an informal reply from IBM so far that they "will try to
- converge on a scheme for international data interchange, while retaining
- national data entry methods. This scheme will employ tagged data wherever
- feasible, but will almost certainly involve some kind of "reference
- EBCDIC" as a standard. When pressed, IBM representatives indicated that
- the current trend is toward adoption of code page 500 for the standard."
- (Quoted from Rick Troth report to the list ISO8859.)
- This answer is a good step, but not much of an immediate help.
-
- Very technical argument. It may seem unclear why the 5E/5F
- translation is required. The reasons are as follows:
- Translation of ASCII 5E "circumflex" has always been to EBCDIC 5F, which
- is "not sign" in 037 but "circumflex" in 500. There was no "circumflex"
- in EBCDIC and no "not" in ASCII. Now, both have both and the old
- translation seems abnormal to continue with 037, but normal with 500. It
- is so "popular" it would be difficult to adopt CECP 037. So, either ISO
- or CECP, worse ASCII or EBCDIC must swap the code points. Swapping the
- 037 definition to get CECP xxx is not that bad, it means that:
- - PL/I and REXX "are said to" use "circumflex" for the not operator.
- - Their documentation would have to change, but a small fix to REXX and
- PL/I to accept both would make it almost unnecessary.
- - The new not operator is usable from an ASCII terminal without a cheat.
- - Isn't "circumflex" the "not operator" in CECP 500 after all?
-
- The IBM 7171
-
- This 3270 protocol converter was initially designed to support US
- ASCII only and uses the de-facto EBCDIC. However, customized translation
- tables using the APL feature can make an IBM EBCDIC mainframe appear as
- an ISO 8859 host to the ASCII terminals. The translation tables can adapt
- any CECP to ISO. The CECP is chosen on initial connection by replying the
- corresponding terminal type. A single code (ISO 8859) on the
- communication line reduces the Nonvolatile RAM requirements.
-
- One problem is that the 7171 forces the communication line to be 7-
- bit and that the terminal MUST use the SO/SI protocol for input AND
- output. For its input (terminal keyboard), the 7171 can also be
- programmed to accept a non-locking shift escape sequence in front of each
- character of the GR set.
-
- File transfer is best done in transparent mode that operates without
- translation, but is also restricted to 7-bit and needs 8-bit to 7-bit
- encoding.
-
- Asynchronous communication
-
- Thanks to the interest of Frank da Cruz and Christine Gianone,
- Kermit now defines specifications to support ISO 8859 (and other codes if
- needed) on the communication line in terminal and file transfer mode. It
- has provision to extend to mixed codes files too.
- John Chandler has extended the traditional translation made by his
- remarkable IBM mainframe Kermits to the specific choice of any CECP or
- the extended de-facto EBCDIC to ISO 8859-1.
- The impressive MSDOS Kermit by Joe Doupnik now also supports
- translation of PC code pages to ISO8859-1.
- Thanks to Paul Placeway, Macintosh Kermit now supports ISO 8859-1 as
- an 8-bit line terminal.
-
- I think I can speak on behalf on the international computing
- community and enthusiastically thank these people for a work most useful
- to us.
-
- TCP/IP
-
- Despite a mention I have read in an introduction to the TCP/IP
- communication protocols "provision for hosts with different character
- sets", I don't think the idea extends much beyond the problem of the
- EBCDIC code restricted to the US ASCII character set. For international
- characters users, the same problem exists for any pair of hosts not using
- the same 8-bit code. Or, said with the standards in mind, a host not
- using ISO 8859.
- However, it is just a matter of what a protocol states, and, indeed,
- the specifications of X-Windows state that ISO 8859-1 is the code that
- must be used to exchange text between the client and the server of that
- protocol.
- What is needed is a general TCP/IP statement saying what single code
- its application protocols use on communication lines: temptatively ISO
- 8859 with future migration to ISO 10646.
-
- TCP/IP has 8-bit data transport but usually no translation, except
- for EBCDIC mainframes. Telnet and SMTP mention restriction to 7-bit ASCII
- with high-order bit set to zero. Yet, SMTP does not say if some
- intermediate agent is in right to zero a bit that was set to one by the
- source, and it is not clear if the intention is to forbid a "random"
- high-order bit and allow for a future extension, rather than disallow it.
- It would be much welcome that an 8-bit code be allowed at least in the
- mail body and, further, specified: a version of ISO 8859, like for X-
- Windows.
- RFC 821 (4.5.2) states that data transforms must be reversible.
- Speaking of BITNET/ASCII gateways, if the whole BITNET network is
- considered as one system, this means that all gateways must use the same
- translation tables; not knowing which caused evident failures to do so.
- Moreover, beyond a strict SMTP concern, it is difficult to implement an
- invertible translation between an inherently 8-bit EBCDIC and a 7-bit
- code. It should be extended to 8-bit, strictly specified and invertible.
-
- Telnet line communication code should be ISO 8859 by both the client
- and server as explained in general terms above. Making TN3270 transfer
- ISO 8859 would have been difficult because it would have envolved some
- redefinition of 3270 data. Yet, it must be observed that the general
- programming method making a communication program process ISO 8859 in
- memory still holds for 3270 when ISO/EBCDIC translation is performed in
- the line buffers encoding/decoding routines.
-
- The same general rules for translation as explained above for file
- transfer apply to FTP.
-
- General conclusions
-
- 1) Every effort should be made so that all operating systems' codes be
- unique and universal, i. e. ISO 8859-x for an 8-bit code, while waiting
- for the perfect unicity of a single multibyte code.
-
- 2) Failing that, communication software must palliate a particular system
- weakness and translate data so that it appears to the outside world to
- use the unique data interchange code.
-
- 3) Programers must deal with 8-bit character codes (and prepare for
- multibytes ones).
-
- While waiting.
-
- Failing to receive precise invertible translation tables from the
- manufacturers, we must do our best to make our own agreement about the
- translation of the code points that are undefined.
- I have been looking for the most widely accepted complete tables and I
- explain the reasons of the choices. However, I cannot guarantee that
- another translation will not be used someday. The data correspond to my
- explanations. That's all I can say.
-
- DEC
-
- Easy case first. DEC uses ISO 8859. Nothing to do except making sure
- the 8 bits go through.
-
- IBM (EBCDIC mainframes first)
-
- With the Communication Manager of OS/2, IBM uses highly coherent
- invertible translation tables between mainframes and PCs. One can
- translate from any of the numerous EBCDIC CECPs to any of the codepages
- of the PC, data is never lost and comes back unaltered, whatever the trip
- fom one code to another (this is called "round trip integrity"). Such a
- coherence is not fortuitous, nor only the case of the Communication
- Manager. I expect that deriving all the code pages from ISO 8859-1 was
- widely planned and that all the products based on them are coherent. For
- example, I have verified that the tables that GDDM uses to translate from
- one CECP to another are coherent with the Communication Manager.
- The good news is that once we know a translation, we know them all
- by "mathematical deduction". The bad news is that the Communication
- Manager tells us only how to translate between any code of the set of PC
- and CECPs codepages to another, not ISO 8859-1.
- Because of the character representation, we know how CECP 037
- translates to ISO 8859-1 except for the 32 control characters. So, if we
- can find a clue for those characters, we know all the translations.
- The people on the mailing list ISO8859 have found the most probable
- one. Except for correcting an invalid ISO 9F=>EBCDIC E1, because E1 is
- "Divide sign", it is identical to:
- "VS/Fortran Language & Library Reference Manual, Rel 4.1, SC26-4119-1"
- GOST 19768-87
- MTS sites translation
- Unix file conversion "dd conv=ibm"
- JNET EBCDIC/ASCII network gateways (except for another difference for ISO
- 85 and 8A)
-
- If the ASCII world (I mean ISO) is to be served, we must also be
- compatible with what they have been using for years and define an
- extension of the de-facto EBCDIC in addition to the 9 official CECPs. A
- word of warning: This EBCDIC definition is not official, but the most
- sensible compromise for compatibility with the de-facto EBCDIC and
- official CECPs.
-
- The following tables translate ISO 8859-1 to EBCDIC and are followed
- by the inverse translation. In all cases, the translation of the 80-A0
- range of ISO 8859-1 is the best guess of the list ISO8859.
-
- "Extended de-facto EBCDIC".
- 00 01 02 03 37 2D 2E 2F 16 05 25 0B 0C 0D 0E 0F
- 10 11 12 13 3C 3D 32 26 18 19 3F 27 1C 1D 1E 1F
- 40 5A 7F 7B 5B 6C 50 7D 4D 5D 5C 4E 6B 60 4B 61
- F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 7A 5E 4C 7E 6E 6F
- 7C C1 C2 C3 C4 C5 C6 C7 C8 C9 D1 D2 D3 D4 D5 D6
- D7 D8 D9 E2 E3 E4 E5 E6 E7 E8 E9 AD E0 BD 5F 6D
- 79 81 82 83 84 85 86 87 88 89 91 92 93 94 95 96
- 97 98 99 A2 A3 A4 A5 A6 A7 A8 A9 C0 4F D0 A1 07
- 20 21 22 23 24 15 06 17 28 29 2A 2B 2C 09 0A 1B
- 30 31 1A 33 34 35 36 08 38 39 3A 3B 04 14 3E FF
- 41 AA 4A B1 9F B2 6A B5 BB B4 9A 8A B0 CA AF BC
- 90 8F EA FA BE A0 B6 B3 9D DA 9B 8B B7 B8 B9 AB
- 64 65 62 66 63 67 9E 68 74 71 72 73 78 75 76 77
- AC 69 ED EE EB EF EC BF 80 FD FE FB FC BA AE 59
- 44 45 42 46 43 47 9C 48 54 51 52 53 58 55 56 57
- 8C 49 CD CE CB CF CC E1 70 DD DE DB DC 8D 8E DF
- ---- inverted ----
- 00 01 02 03 9C 09 86 7F 97 8D 8E 0B 0C 0D 0E 0F
- 10 11 12 13 9D 85 08 87 18 19 92 8F 1C 1D 1E 1F
- 80 81 82 83 84 0A 17 1B 88 89 8A 8B 8C 05 06 07
- 90 91 16 93 94 95 96 04 98 99 9A 9B 14 15 9E 1A
- 20 A0 E2 E4 E0 E1 E3 E5 E7 F1 A2 2E 3C 28 2B 7C
- 26 E9 EA EB E8 ED EE EF EC DF 21 24 2A 29 3B 5E
- 2D 2F C2 C4 C0 C1 C3 C5 C7 D1 A6 2C 25 5F 3E 3F
- F8 C9 CA CB C8 CD CE CF CC 60 3A 23 40 27 3D 22
- D8 61 62 63 64 65 66 67 68 69 AB BB F0 FD FE B1
- B0 6A 6B 6C 6D 6E 6F 70 71 72 AA BA E6 B8 C6 A4
- B5 7E 73 74 75 76 77 78 79 7A A1 BF D0 5B DE AE
- AC A3 A5 B7 A9 A7 B6 BC BD BE DD A8 AF 5D B4 D7
- 7B 41 42 43 44 45 46 47 48 49 AD F4 F6 F2 F3 F5
- 7D 4A 4B 4C 4D 4E 4F 50 51 52 B9 FB FC F9 FA FF
- 5C F7 53 54 55 56 57 58 59 5A B2 D4 D6 D2 D3 D5
- 30 31 32 33 34 35 36 37 38 39 B3 DB DC D9 DA 9F
-
- "CECP 037".
- 00 01 02 03 37 2D 2E 2F 16 05 25 0B 0C 0D 0E 0F
- 10 11 12 13 3C 3D 32 26 18 19 3F 27 1C 1D 1E 1F
- 40 5A 7F 7B 5B 6C 50 7D 4D 5D 5C 4E 6B 60 4B 61
- F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 7A 5E 4C 7E 6E 6F
- 7C C1 C2 C3 C4 C5 C6 C7 C8 C9 D1 D2 D3 D4 D5 D6
- D7 D8 D9 E2 E3 E4 E5 E6 E7 E8 E9 BA E0 BB B0 6D
- 79 81 82 83 84 85 86 87 88 89 91 92 93 94 95 96
- 97 98 99 A2 A3 A4 A5 A6 A7 A8 A9 C0 4F D0 A1 07
- 20 21 22 23 24 15 06 17 28 29 2A 2B 2C 09 0A 1B
- 30 31 1A 33 34 35 36 08 38 39 3A 3B 04 14 3E FF
- 41 AA 4A B1 9F B2 6A B5 BD B4 9A 8A 5F CA AF BC
- 90 8F EA FA BE A0 B6 B3 9D DA 9B 8B B7 B8 B9 AB
- 64 65 62 66 63 67 9E 68 74 71 72 73 78 75 76 77
- AC 69 ED EE EB EF EC BF 80 FD FE FB FC AD AE 59
- 44 45 42 46 43 47 9C 48 54 51 52 53 58 55 56 57
- 8C 49 CD CE CB CF CC E1 70 DD DE DB DC 8D 8E DF
- ---- inverted ----
- 00 01 02 03 9C 09 86 7F 97 8D 8E 0B 0C 0D 0E 0F
- 10 11 12 13 9D 85 08 87 18 19 92 8F 1C 1D 1E 1F
- 80 81 82 83 84 0A 17 1B 88 89 8A 8B 8C 05 06 07
- 90 91 16 93 94 95 96 04 98 99 9A 9B 14 15 9E 1A
- 20 A0 E2 E4 E0 E1 E3 E5 E7 F1 A2 2E 3C 28 2B 7C
- 26 E9 EA EB E8 ED EE EF EC DF 21 24 2A 29 3B AC
- 2D 2F C2 C4 C0 C1 C3 C5 C7 D1 A6 2C 25 5F 3E 3F
- F8 C9 CA CB C8 CD CE CF CC 60 3A 23 40 27 3D 22
- D8 61 62 63 64 65 66 67 68 69 AB BB F0 FD FE B1
- B0 6A 6B 6C 6D 6E 6F 70 71 72 AA BA E6 B8 C6 A4
- B5 7E 73 74 75 76 77 78 79 7A A1 BF D0 DD DE AE
- 5E A3 A5 B7 A9 A7 B6 BC BD BE 5B 5D AF A8 B4 D7
- 7B 41 42 43 44 45 46 47 48 49 AD F4 F6 F2 F3 F5
- 7D 4A 4B 4C 4D 4E 4F 50 51 52 B9 FB FC F9 FA FF
- 5C F7 53 54 55 56 57 58 59 5A B2 D4 D6 D2 D3 D5
- 30 31 32 33 34 35 36 37 38 39 B3 DB DC D9 DA 9F
-
- "CECP 273".
- 00 01 02 03 37 2D 2E 2F 16 05 25 0B 0C 0D 0E 0F
- 10 11 12 13 3C 3D 32 26 18 19 3F 27 1C 1D 1E 1F
- 40 4F 7F 7B 5B 6C 50 7D 4D 5D 5C 4E 6B 60 4B 61
- F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 7A 5E 4C 7E 6E 6F
- B5 C1 C2 C3 C4 C5 C6 C7 C8 C9 D1 D2 D3 D4 D5 D6
- D7 D8 D9 E2 E3 E4 E5 E6 E7 E8 E9 63 EC FC 5F 6D
- 79 81 82 83 84 85 86 87 88 89 91 92 93 94 95 96
- 97 98 99 A2 A3 A4 A5 A6 A7 A8 A9 43 BB DC 59 07
- 20 21 22 23 24 15 06 17 28 29 2A 2B 2C 09 0A 1B
- 30 31 1A 33 34 35 36 08 38 39 3A 3B 04 14 3E FF
- 41 AA B0 B1 9F B2 CC 7C BD B4 9A 8A BA CA AF BC
- 90 8F EA FA BE A0 B6 B3 9D DA 9B 8B B7 B8 B9 AB
- 64 65 62 66 4A 67 9E 68 74 71 72 73 78 75 76 77
- AC 69 ED EE EB EF E0 BF 80 FD FE FB 5A AD AE A1
- 44 45 42 46 C0 47 9C 48 54 51 52 53 58 55 56 57
- 8C 49 CD CE CB CF 6A E1 70 DD DE DB D0 8D 8E DF
- ---- inverted ----
- 00 01 02 03 9C 09 86 7F 97 8D 8E 0B 0C 0D 0E 0F
- 10 11 12 13 9D 85 08 87 18 19 92 8F 1C 1D 1E 1F
- 80 81 82 83 84 0A 17 1B 88 89 8A 8B 8C 05 06 07
- 90 91 16 93 94 95 96 04 98 99 9A 9B 14 15 9E 1A
- 20 A0 E2 7B E0 E1 E3 E5 E7 F1 C4 2E 3C 28 2B 21
- 26 E9 EA EB E8 ED EE EF EC 7E DC 24 2A 29 3B 5E
- 2D 2F C2 5B C0 C1 C3 C5 C7 D1 F6 2C 25 5F 3E 3F
- F8 C9 CA CB C8 CD CE CF CC 60 3A 23 A7 27 3D 22
- D8 61 62 63 64 65 66 67 68 69 AB BB F0 FD FE B1
- B0 6A 6B 6C 6D 6E 6F 70 71 72 AA BA E6 B8 C6 A4
- B5 DF 73 74 75 76 77 78 79 7A A1 BF D0 DD DE AE
- A2 A3 A5 B7 A9 40 B6 BC BD BE AC 7C AF A8 B4 D7
- E4 41 42 43 44 45 46 47 48 49 AD F4 A6 F2 F3 F5
- FC 4A 4B 4C 4D 4E 4F 50 51 52 B9 FB 7D F9 FA FF
- D6 F7 53 54 55 56 57 58 59 5A B2 D4 5C D2 D3 D5
- 30 31 32 33 34 35 36 37 38 39 B3 DB 5D D9 DA 9F
-
- "CECP 277".
- 00 01 02 03 37 2D 2E 2F 16 05 25 0B 0C 0D 0E 0F
- 10 11 12 13 3C 3D 32 26 18 19 3F 27 1C 1D 1E 1F
- 40 4F 7F 4A 67 6C 50 7D 4D 5D 5C 4E 6B 60 4B 61
- F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 7A 5E 4C 7E 6E 6F
- 80 C1 C2 C3 C4 C5 C6 C7 C8 C9 D1 D2 D3 D4 D5 D6
- D7 D8 D9 E2 E3 E4 E5 E6 E7 E8 E9 9E E0 9F 5F 6D
- 79 81 82 83 84 85 86 87 88 89 91 92 93 94 95 96
- 97 98 99 A2 A3 A4 A5 A6 A7 A8 A9 9C BB 47 DC 07
- 20 21 22 23 24 15 06 17 28 29 2A 2B 2C 09 0A 1B
- 30 31 1A 33 34 35 36 08 38 39 3A 3B 04 14 3E FF
- 41 AA B0 B1 5A B2 70 B5 BD B4 9A 8A BA CA AF BC
- 90 8F EA FA BE A0 B6 B3 9D DA 9B 8B B7 B8 B9 AB
- 64 65 62 66 63 5B 7B 68 74 71 72 73 78 75 76 77
- AC 69 ED EE EB EF EC BF 7C FD FE FB FC AD AE 59
- 44 45 42 46 43 D0 C0 48 54 51 52 53 58 55 56 57
- 8C 49 CD CE CB CF CC E1 6A DD DE DB A1 8D 8E DF
- ---- inverted ----
- 00 01 02 03 9C 09 86 7F 97 8D 8E 0B 0C 0D 0E 0F
- 10 11 12 13 9D 85 08 87 18 19 92 8F 1C 1D 1E 1F
- 80 81 82 83 84 0A 17 1B 88 89 8A 8B 8C 05 06 07
- 90 91 16 93 94 95 96 04 98 99 9A 9B 14 15 9E 1A
- 20 A0 E2 E4 E0 E1 E3 7D E7 F1 23 2E 3C 28 2B 21
- 26 E9 EA EB E8 ED EE EF EC DF A4 C5 2A 29 3B 5E
- 2D 2F C2 C4 C0 C1 C3 24 C7 D1 F8 2C 25 5F 3E 3F
- A6 C9 CA CB C8 CD CE CF CC 60 3A C6 D8 27 3D 22
- 40 61 62 63 64 65 66 67 68 69 AB BB F0 FD FE B1
- B0 6A 6B 6C 6D 6E 6F 70 71 72 AA BA 7B B8 5B 5D
- B5 FC 73 74 75 76 77 78 79 7A A1 BF D0 DD DE AE
- A2 A3 A5 B7 A9 A7 B6 BC BD BE AC 7C AF A8 B4 D7
- E6 41 42 43 44 45 46 47 48 49 AD F4 F6 F2 F3 F5
- E5 4A 4B 4C 4D 4E 4F 50 51 52 B9 FB 7E F9 FA FF
- 5C F7 53 54 55 56 57 58 59 5A B2 D4 D6 D2 D3 D5
- 30 31 32 33 34 35 36 37 38 39 B3 DB DC D9 DA 9F
-
- "CECP 278".
- 00 01 02 03 37 2D 2E 2F 16 05 25 0B 0C 0D 0E 0F
- 10 11 12 13 3C 3D 32 26 18 19 3F 27 1C 1D 1E 1F
- 40 4F 7F 63 67 6C 50 7D 4D 5D 5C 4E 6B 60 4B 61
- F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 7A 5E 4C 7E 6E 6F
- EC C1 C2 C3 C4 C5 C6 C7 C8 C9 D1 D2 D3 D4 D5 D6
- D7 D8 D9 E2 E3 E4 E5 E6 E7 E8 E9 B5 71 9F 5F 6D
- 51 81 82 83 84 85 86 87 88 89 91 92 93 94 95 96
- 97 98 99 A2 A3 A4 A5 A6 A7 A8 A9 43 BB 47 DC 07
- 20 21 22 23 24 15 06 17 28 29 2A 2B 2C 09 0A 1B
- 30 31 1A 33 34 35 36 08 38 39 3A 3B 04 14 3E FF
- 41 AA B0 B1 5A B2 CC 4A BD B4 9A 8A BA CA AF BC
- 90 8F EA FA BE A0 B6 B3 9D DA 9B 8B B7 B8 B9 AB
- 64 65 62 66 7B 5B 9E 68 74 E0 72 73 78 75 76 77
- AC 69 ED EE EB EF 7C BF 80 FD FE FB FC AD AE 59
- 44 45 42 46 C0 D0 9C 48 54 79 52 53 58 55 56 57
- 8C 49 CD CE CB CF 6A E1 70 DD DE DB A1 8D 8E DF
- ---- inverted ----
- 00 01 02 03 9C 09 86 7F 97 8D 8E 0B 0C 0D 0E 0F
- 10 11 12 13 9D 85 08 87 18 19 92 8F 1C 1D 1E 1F
- 80 81 82 83 84 0A 17 1B 88 89 8A 8B 8C 05 06 07
- 90 91 16 93 94 95 96 04 98 99 9A 9B 14 15 9E 1A
- 20 A0 E2 7B E0 E1 E3 7D E7 F1 A7 2E 3C 28 2B 21
- 26 60 EA EB E8 ED EE EF EC DF A4 C5 2A 29 3B 5E
- 2D 2F C2 23 C0 C1 C3 24 C7 D1 F6 2C 25 5F 3E 3F
- F8 5C CA CB C8 CD CE CF CC E9 3A C4 D6 27 3D 22
- D8 61 62 63 64 65 66 67 68 69 AB BB F0 FD FE B1
- B0 6A 6B 6C 6D 6E 6F 70 71 72 AA BA E6 B8 C6 5D
- B5 FC 73 74 75 76 77 78 79 7A A1 BF D0 DD DE AE
- A2 A3 A5 B7 A9 5B B6 BC BD BE AC 7C AF A8 B4 D7
- E4 41 42 43 44 45 46 47 48 49 AD F4 A6 F2 F3 F5
- E5 4A 4B 4C 4D 4E 4F 50 51 52 B9 FB 7E F9 FA FF
- C9 F7 53 54 55 56 57 58 59 5A B2 D4 40 D2 D3 D5
- 30 31 32 33 34 35 36 37 38 39 B3 DB DC D9 DA 9F
-
- "CECP 280".
- 00 01 02 03 37 2D 2E 2F 16 05 25 0B 0C 0D 0E 0F
- 10 11 12 13 3C 3D 32 26 18 19 3F 27 1C 1D 1E 1F
- 40 4F 7F B1 5B 6C 50 7D 4D 5D 5C 4E 6B 60 4B 61
- F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 7A 5E 4C 7E 6E 6F
- B5 C1 C2 C3 C4 C5 C6 C7 C8 C9 D1 D2 D3 D4 D5 D6
- D7 D8 D9 E2 E3 E4 E5 E6 E7 E8 E9 90 48 51 5F 6D
- DD 81 82 83 84 85 86 87 88 89 91 92 93 94 95 96
- 97 98 99 A2 A3 A4 A5 A6 A7 A8 A9 44 BB 54 58 07
- 20 21 22 23 24 15 06 17 28 29 2A 2B 2C 09 0A 1B
- 30 31 1A 33 34 35 36 08 38 39 3A 3B 04 14 3E FF
- 41 AA B0 7B 9F B2 CD 7C BD B4 9A 8A BA CA AF BC
- 4A 8F EA FA BE A0 B6 B3 9D DA 9B 8B B7 B8 B9 AB
- 64 65 62 66 63 67 9E 68 74 71 72 73 78 75 76 77
- AC 69 ED EE EB EF EC BF 80 FD FE FB FC AD AE 59
- C0 45 42 46 43 47 9C E0 D0 5A 52 53 A1 55 56 57
- 8C 49 6A CE CB CF CC E1 70 79 DE DB DC 8D 8E DF
- ---- inverted ----
- 00 01 02 03 9C 09 86 7F 97 8D 8E 0B 0C 0D 0E 0F
- 10 11 12 13 9D 85 08 87 18 19 92 8F 1C 1D 1E 1F
- 80 81 82 83 84 0A 17 1B 88 89 8A 8B 8C 05 06 07
- 90 91 16 93 94 95 96 04 98 99 9A 9B 14 15 9E 1A
- 20 A0 E2 E4 7B E1 E3 E5 5C F1 B0 2E 3C 28 2B 21
- 26 5D EA EB 7D ED EE EF 7E DF E9 24 2A 29 3B 5E
- 2D 2F C2 C4 C0 C1 C3 C5 C7 D1 F2 2C 25 5F 3E 3F
- F8 C9 CA CB C8 CD CE CF CC F9 3A A3 A7 27 3D 22
- D8 61 62 63 64 65 66 67 68 69 AB BB F0 FD FE B1
- 5B 6A 6B 6C 6D 6E 6F 70 71 72 AA BA E6 B8 C6 A4
- B5 EC 73 74 75 76 77 78 79 7A A1 BF D0 DD DE AE
- A2 23 A5 B7 A9 40 B6 BC BD BE AC 7C AF A8 B4 D7
- E0 41 42 43 44 45 46 47 48 49 AD F4 F6 A6 F3 F5
- E8 4A 4B 4C 4D 4E 4F 50 51 52 B9 FB FC 60 FA FF
- E7 F7 53 54 55 56 57 58 59 5A B2 D4 D6 D2 D3 D5
- 30 31 32 33 34 35 36 37 38 39 B3 DB DC D9 DA 9F
-
- "CECP 284".
- 00 01 02 03 37 2D 2E 2F 16 05 25 0B 0C 0D 0E 0F
- 10 11 12 13 3C 3D 32 26 18 19 3F 27 1C 1D 1E 1F
- 40 BB 7F 69 5B 6C 50 7D 4D 5D 5C 4E 6B 60 4B 61
- F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 7A 5E 4C 7E 6E 6F
- 7C C1 C2 C3 C4 C5 C6 C7 C8 C9 D1 D2 D3 D4 D5 D6
- D7 D8 D9 E2 E3 E4 E5 E6 E7 E8 E9 4A E0 5A BA 6D
- 79 81 82 83 84 85 86 87 88 89 91 92 93 94 95 96
- 97 98 99 A2 A3 A4 A5 A6 A7 A8 A9 C0 4F D0 BD 07
- 20 21 22 23 24 15 06 17 28 29 2A 2B 2C 09 0A 1B
- 30 31 1A 33 34 35 36 08 38 39 3A 3B 04 14 3E FF
- 41 AA B0 B1 9F B2 49 B5 A1 B4 9A 8A 5F CA AF BC
- 90 8F EA FA BE A0 B6 B3 9D DA 9B 8B B7 B8 B9 AB
- 64 65 62 66 63 67 9E 68 74 71 72 73 78 75 76 77
- AC 7B ED EE EB EF EC BF 80 FD FE FB FC AD AE 59
- 44 45 42 46 43 47 9C 48 54 51 52 53 58 55 56 57
- 8C 6A CD CE CB CF CC E1 70 DD DE DB DC 8D 8E DF
- ---- inverted ----
- 00 01 02 03 9C 09 86 7F 97 8D 8E 0B 0C 0D 0E 0F
- 10 11 12 13 9D 85 08 87 18 19 92 8F 1C 1D 1E 1F
- 80 81 82 83 84 0A 17 1B 88 89 8A 8B 8C 05 06 07
- 90 91 16 93 94 95 96 04 98 99 9A 9B 14 15 9E 1A
- 20 A0 E2 E4 E0 E1 E3 E5 E7 A6 5B 2E 3C 28 2B 7C
- 26 E9 EA EB E8 ED EE EF EC DF 5D 24 2A 29 3B AC
- 2D 2F C2 C4 C0 C1 C3 C5 C7 23 F1 2C 25 5F 3E 3F
- F8 C9 CA CB C8 CD CE CF CC 60 3A D1 40 27 3D 22
- D8 61 62 63 64 65 66 67 68 69 AB BB F0 FD FE B1
- B0 6A 6B 6C 6D 6E 6F 70 71 72 AA BA E6 B8 C6 A4
- B5 A8 73 74 75 76 77 78 79 7A A1 BF D0 DD DE AE
- A2 A3 A5 B7 A9 A7 B6 BC BD BE 5E 21 AF 7E B4 D7
- 7B 41 42 43 44 45 46 47 48 49 AD F4 F6 F2 F3 F5
- 7D 4A 4B 4C 4D 4E 4F 50 51 52 B9 FB FC F9 FA FF
- 5C F7 53 54 55 56 57 58 59 5A B2 D4 D6 D2 D3 D5
- 30 31 32 33 34 35 36 37 38 39 B3 DB DC D9 DA 9F
-
- "CECP 285".
- 00 01 02 03 37 2D 2E 2F 16 05 25 0B 0C 0D 0E 0F
- 10 11 12 13 3C 3D 32 26 18 19 3F 27 1C 1D 1E 1F
- 40 5A 7F 7B 4A 6C 50 7D 4D 5D 5C 4E 6B 60 4B 61
- F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 7A 5E 4C 7E 6E 6F
- 7C C1 C2 C3 C4 C5 C6 C7 C8 C9 D1 D2 D3 D4 D5 D6
- D7 D8 D9 E2 E3 E4 E5 E6 E7 E8 E9 B1 E0 BB BA 6D
- 79 81 82 83 84 85 86 87 88 89 91 92 93 94 95 96
- 97 98 99 A2 A3 A4 A5 A6 A7 A8 A9 C0 4F D0 BC 07
- 20 21 22 23 24 15 06 17 28 29 2A 2B 2C 09 0A 1B
- 30 31 1A 33 34 35 36 08 38 39 3A 3B 04 14 3E FF
- 41 AA B0 5B 9F B2 6A B5 BD B4 9A 8A 5F CA AF A1
- 90 8F EA FA BE A0 B6 B3 9D DA 9B 8B B7 B8 B9 AB
- 64 65 62 66 63 67 9E 68 74 71 72 73 78 75 76 77
- AC 69 ED EE EB EF EC BF 80 FD FE FB FC AD AE 59
- 44 45 42 46 43 47 9C 48 54 51 52 53 58 55 56 57
- 8C 49 CD CE CB CF CC E1 70 DD DE DB DC 8D 8E DF
- ---- inverted ----
- 00 01 02 03 9C 09 86 7F 97 8D 8E 0B 0C 0D 0E 0F
- 10 11 12 13 9D 85 08 87 18 19 92 8F 1C 1D 1E 1F
- 80 81 82 83 84 0A 17 1B 88 89 8A 8B 8C 05 06 07
- 90 91 16 93 94 95 96 04 98 99 9A 9B 14 15 9E 1A
- 20 A0 E2 E4 E0 E1 E3 E5 E7 F1 24 2E 3C 28 2B 7C
- 26 E9 EA EB E8 ED EE EF EC DF 21 A3 2A 29 3B AC
- 2D 2F C2 C4 C0 C1 C3 C5 C7 D1 A6 2C 25 5F 3E 3F
- F8 C9 CA CB C8 CD CE CF CC 60 3A 23 40 27 3D 22
- D8 61 62 63 64 65 66 67 68 69 AB BB F0 FD FE B1
- B0 6A 6B 6C 6D 6E 6F 70 71 72 AA BA E6 B8 C6 A4
- B5 AF 73 74 75 76 77 78 79 7A A1 BF D0 DD DE AE
- A2 5B A5 B7 A9 A7 B6 BC BD BE 5E 5D 7E A8 B4 D7
- 7B 41 42 43 44 45 46 47 48 49 AD F4 F6 F2 F3 F5
- 7D 4A 4B 4C 4D 4E 4F 50 51 52 B9 FB FC F9 FA FF
- 5C F7 53 54 55 56 57 58 59 5A B2 D4 D6 D2 D3 D5
- 30 31 32 33 34 35 36 37 38 39 B3 DB DC D9 DA 9F
-
- "CECP 297".
- 00 01 02 03 37 2D 2E 2F 16 05 25 0B 0C 0D 0E 0F
- 10 11 12 13 3C 3D 32 26 18 19 3F 27 1C 1D 1E 1F
- 40 4F 7F B1 5B 6C 50 7D 4D 5D 5C 4E 6B 60 4B 61
- F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 7A 5E 4C 7E 6E 6F
- 44 C1 C2 C3 C4 C5 C6 C7 C8 C9 D1 D2 D3 D4 D5 D6
- D7 D8 D9 E2 E3 E4 E5 E6 E7 E8 E9 90 48 B5 5F 6D
- A0 81 82 83 84 85 86 87 88 89 91 92 93 94 95 96
- 97 98 99 A2 A3 A4 A5 A6 A7 A8 A9 51 BB 54 BD 07
- 20 21 22 23 24 15 06 17 28 29 2A 2B 2C 09 0A 1B
- 30 31 1A 33 34 35 36 08 38 39 3A 3B 04 14 3E FF
- 41 AA B0 7B 9F B2 DD 5A A1 B4 9A 8A BA CA AF BC
- 4A 8F EA FA BE 79 B6 B3 9D DA 9B 8B B7 B8 B9 AB
- 64 65 62 66 63 67 9E 68 74 71 72 73 78 75 76 77
- AC 69 ED EE EB EF EC BF 80 FD FE FB FC AD AE 59
- 7C 45 42 46 43 47 9C E0 D0 C0 52 53 58 55 56 57
- 8C 49 CD CE CB CF CC E1 70 6A DE DB DC 8D 8E DF
- ---- inverted ----
- 00 01 02 03 9C 09 86 7F 97 8D 8E 0B 0C 0D 0E 0F
- 10 11 12 13 9D 85 08 87 18 19 92 8F 1C 1D 1E 1F
- 80 81 82 83 84 0A 17 1B 88 89 8A 8B 8C 05 06 07
- 90 91 16 93 94 95 96 04 98 99 9A 9B 14 15 9E 1A
- 20 A0 E2 E4 40 E1 E3 E5 5C F1 B0 2E 3C 28 2B 21
- 26 7B EA EB 7D ED EE EF EC DF A7 24 2A 29 3B 5E
- 2D 2F C2 C4 C0 C1 C3 C5 C7 D1 F9 2C 25 5F 3E 3F
- F8 C9 CA CB C8 CD CE CF CC B5 3A A3 E0 27 3D 22
- D8 61 62 63 64 65 66 67 68 69 AB BB F0 FD FE B1
- 5B 6A 6B 6C 6D 6E 6F 70 71 72 AA BA E6 B8 C6 A4
- 60 A8 73 74 75 76 77 78 79 7A A1 BF D0 DD DE AE
- A2 23 A5 B7 A9 5D B6 BC BD BE AC 7C AF 7E B4 D7
- E9 41 42 43 44 45 46 47 48 49 AD F4 F6 F2 F3 F5
- E8 4A 4B 4C 4D 4E 4F 50 51 52 B9 FB FC A6 FA FF
- E7 F7 53 54 55 56 57 58 59 5A B2 D4 D6 D2 D3 D5
- 30 31 32 33 34 35 36 37 38 39 B3 DB DC D9 DA 9F
-
- "CECP 500".
- 00 01 02 03 37 2D 2E 2F 16 05 25 0B 0C 0D 0E 0F
- 10 11 12 13 3C 3D 32 26 18 19 3F 27 1C 1D 1E 1F
- 40 4F 7F 7B 5B 6C 50 7D 4D 5D 5C 4E 6B 60 4B 61
- F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 7A 5E 4C 7E 6E 6F
- 7C C1 C2 C3 C4 C5 C6 C7 C8 C9 D1 D2 D3 D4 D5 D6
- D7 D8 D9 E2 E3 E4 E5 E6 E7 E8 E9 4A E0 5A 5F 6D
- 79 81 82 83 84 85 86 87 88 89 91 92 93 94 95 96
- 97 98 99 A2 A3 A4 A5 A6 A7 A8 A9 C0 BB D0 A1 07
- 20 21 22 23 24 15 06 17 28 29 2A 2B 2C 09 0A 1B
- 30 31 1A 33 34 35 36 08 38 39 3A 3B 04 14 3E FF
- 41 AA B0 B1 9F B2 6A B5 BD B4 9A 8A BA CA AF BC
- 90 8F EA FA BE A0 B6 B3 9D DA 9B 8B B7 B8 B9 AB
- 64 65 62 66 63 67 9E 68 74 71 72 73 78 75 76 77
- AC 69 ED EE EB EF EC BF 80 FD FE FB FC AD AE 59
- 44 45 42 46 43 47 9C 48 54 51 52 53 58 55 56 57
- 8C 49 CD CE CB CF CC E1 70 DD DE DB DC 8D 8E DF
- ---- inverted ----
- 00 01 02 03 9C 09 86 7F 97 8D 8E 0B 0C 0D 0E 0F
- 10 11 12 13 9D 85 08 87 18 19 92 8F 1C 1D 1E 1F
- 80 81 82 83 84 0A 17 1B 88 89 8A 8B 8C 05 06 07
- 90 91 16 93 94 95 96 04 98 99 9A 9B 14 15 9E 1A
- 20 A0 E2 E4 E0 E1 E3 E5 E7 F1 5B 2E 3C 28 2B 21
- 26 E9 EA EB E8 ED EE EF EC DF 5D 24 2A 29 3B 5E
- 2D 2F C2 C4 C0 C1 C3 C5 C7 D1 A6 2C 25 5F 3E 3F
- F8 C9 CA CB C8 CD CE CF CC 60 3A 23 40 27 3D 22
- D8 61 62 63 64 65 66 67 68 69 AB BB F0 FD FE B1
- B0 6A 6B 6C 6D 6E 6F 70 71 72 AA BA E6 B8 C6 A4
- B5 7E 73 74 75 76 77 78 79 7A A1 BF D0 DD DE AE
- A2 A3 A5 B7 A9 A7 B6 BC BD BE AC 7C AF A8 B4 D7
- 7B 41 42 43 44 45 46 47 48 49 AD F4 F6 F2 F3 F5
- 7D 4A 4B 4C 4D 4E 4F 50 51 52 B9 FB FC F9 FA FF
- 5C F7 53 54 55 56 57 58 59 5A B2 D4 D6 D2 D3 D5
- 30 31 32 33 34 35 36 37 38 39 B3 DB DC D9 DA 9F
-
- IBM PC
-
- Because only code page 850 contains all the characters of ISO 8859-
- 1, it seems reasonable to require that the PC use code page 850 during
- terminal mode. If it uses another code page instead, many international
- characters will still be readable.
-
- Here are the invertible translations of PC codepages from/to ISO
- 8859-1. They are deduced from Communication Manager so that, when
- combined with the CECP tables above, the compound table produces the same
- translation. The same remark applies to the the otherwise undetermined
- translation of the 80-A0 range of ISO 8859-1.
-
- "IBM PC code page 850"
- 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
- 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
- 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
- 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
- 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
- 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
- 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
- 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
- C4 B3 C0 D9 BF DA C3 C1 B4 C2 C5 B0 B1 B2 D5 F2
- CD BA C8 BC BB C9 CC CA B9 CB CE DF DC DB FE 9F
- FF AD BD 9C CF BE DD F5 F9 B8 A6 AE AA F0 A9 EE
- F8 F1 FD FC EF E6 F4 FA F7 FB A7 AF AC AB F3 A8
- B7 B5 B6 C7 8E 8F 92 80 D4 90 D2 D3 DE D6 D7 D8
- D1 A5 E3 E0 E2 E5 99 9E 9D EB E9 EA 9A ED E8 E1
- 85 A0 83 C6 84 86 91 87 8A 82 88 89 8D A1 8C 8B
- D0 A4 95 A2 93 E4 94 F6 9B 97 A3 96 81 EC E7 98
- ---- inverted ----
- 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
- 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
- 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
- 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
- 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
- 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
- 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
- 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
- C7 FC E9 E2 E4 E0 E5 E7 EA EB E8 EF EE EC C4 C5
- C9 E6 C6 F4 F6 F2 FB F9 FF D6 DC F8 A3 D8 D7 9F
- E1 ED F3 FA F1 D1 AA BA BF AE AC BD BC A1 AB BB
- 8B 8C 8D 81 88 C1 C2 C0 A9 98 91 94 93 A2 A5 84
- 82 87 89 86 80 8A E3 C3 92 95 97 99 96 90 9A A4
- F0 D0 CA CB C8 8E CD CE CF 83 85 9D 9C A6 CC 9B
- D3 DF D4 D2 F5 D5 B5 FE DE DA DB D9 FD DD AF B4
- AD B1 8F BE B6 A7 F7 B8 B0 A8 B7 B9 B3 B2 9E A0
-
- "IBM PC code page 437"
- 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
- 10 11 12 13 B0 B1 16 17 18 19 1A 1B 1C 1D 1E 1F
- 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
- 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
- 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
- 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
- 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
- 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
- B7 B8 B9 BB C4 C5 CA CB CC CD CF D0 D1 D2 D3 D8
- D9 DA DC DD DE DF E0 E2 E3 E5 E9 EB EC EF 9E C9
- FF AD 9B 9C A9 9D B3 15 FE 9F A6 AE AA E8 D7 E4
- F8 F1 FD DB BF E6 14 FA CE EE A7 AF AC AB FC A8
- B4 B5 B2 B6 8E 8F 92 80 BE 90 BC BD C2 F3 C0 C1
- D4 A5 F7 F0 F5 F9 99 E7 C3 F4 EA FB 9A D5 D6 E1
- 85 A0 83 F2 84 86 91 87 8A 82 88 89 8D A1 8C 8B
- C6 A4 95 A2 93 ED 94 F6 BA 97 A3 96 81 C7 C8 98
- ---- inverted ----
- 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
- 10 11 12 13 B6 A7 16 17 18 19 1A 1B 1C 1D 1E 1F
- 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
- 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
- 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
- 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
- 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
- 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
- C7 FC E9 E2 E4 E0 E5 E7 EA EB E8 EF EE EC C4 C5
- C9 E6 C6 F4 F6 F2 FB F9 FF D6 DC A2 A3 A5 9E A9
- E1 ED F3 FA F1 D1 AA BA BF A4 AC BD BC A1 AB BB
- 14 15 C2 A6 C0 C1 C3 80 81 82 F8 83 CA CB C8 B4
- CE CF CC D8 84 85 F0 FD FE 9F 86 87 88 89 B8 8A
- 8B 8C 8D 8E D0 DD DE AE 8F 90 91 B3 92 93 94 95
- 96 DF 97 98 AF 99 B5 D7 AD 9A DA 9B 9C F5 B9 9D
- D3 B1 E3 CD D9 D4 F7 D2 B0 D5 B7 DB BE B2 A8 A0
-
- "IBM PC code page 860"
- 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
- 10 11 12 13 F4 F5 16 17 18 19 1A 1B 1C 1D 1E 1F
- 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
- 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
- 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
- 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
- 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
- 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
- C4 B3 C0 D9 BF DA C3 C1 B4 C2 C5 B0 B1 B2 D5 F2
- CD BA C8 BC BB C9 CC CA B9 CB CE DF DC DB FE EF
- FF AD 9B 9C CF BE E4 15 F9 B8 A6 AE AA F0 E0 EE
- F8 F1 FD FC E3 E6 14 FA F7 FB A7 AF AC AB F3 A8
- 91 86 8F 8E C7 D2 DE 80 92 90 89 D3 98 8B D7 D8
- D1 A5 A9 9F 8C 99 EB 9E D6 9D 96 EA 9A ED E8 E1
- 85 A0 83 84 B5 B6 DD 87 8A 82 88 B7 8D A1 BD C6
- D0 A4 95 A2 93 94 E2 F6 D4 97 A3 E5 81 EC E7 E9
- ---- inverted ----
- 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
- 10 11 12 13 B6 A7 16 17 18 19 1A 1B 1C 1D 1E 1F
- 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
- 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
- 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
- 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
- 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
- 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
- C7 FC E9 E2 E3 E0 C1 E7 EA CA E8 CD D4 EC C3 C2
- C9 C0 C8 F4 F5 F2 DA F9 CC D5 DC A2 A3 D9 D7 D3
- E1 ED F3 FA F1 D1 AA BA BF D2 AC BD BC A1 AB BB
- 8B 8C 8D 81 88 E4 E5 EB A9 98 91 94 93 EE A5 84
- 82 87 89 86 80 8A EF C4 92 95 97 99 96 90 9A A4
- F0 D0 C5 CB F8 8E D8 CE CF 83 85 9D 9C E6 C6 9B
- AE DF F6 B4 A6 FB B5 FE DE FF DB D6 FD DD AF 9F
- AD B1 8F BE 14 15 F7 B8 B0 A8 B7 B9 B3 B2 9E A0
-
- "IBM PC code page 863"
- 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
- 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
- 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
- 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
- 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
- 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
- 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
- 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
- C4 B3 C0 D9 BF DA C3 C1 B4 C2 C5 B0 B1 B2 D5 F2
- CD BA C8 BC BB C9 CC CA B9 CB CE DF DC DB FE 9F
- FF EF 9B 9C 98 BE A0 8F A4 B8 E2 AE AA F0 A9 A7
- F8 F1 FD A6 A1 E6 86 FA A5 FB EA AF AC AB AD F3
- 8E B5 84 C7 D3 D4 EE 80 91 90 92 94 DE D6 A8 95
- D1 D7 E3 E0 99 E5 FC F4 DD 9D E9 9E 9A ED E8 E1
- 85 B7 83 C6 B6 BD EB 87 8A 82 88 89 8D D2 8C 8B
- D0 CF F7 A2 93 E4 F5 F6 D8 97 A3 96 81 EC E7 F9
- ---- inverted ----
- 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
- 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
- 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
- 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
- 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
- 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
- 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
- 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
- C7 FC E9 E2 C2 E0 B6 E7 EA EB E8 EF EE EC C0 A7
- C9 C8 CA F4 CB CF FB F9 A4 D4 DC A2 A3 D9 DB 9F
- A6 B4 F3 FA A8 B8 B3 AF CE AE AC BD BC BE AB BB
- 8B 8C 8D 81 88 C1 E4 E1 A9 98 91 94 93 E5 A5 84
- 82 87 89 86 80 8A E3 C3 92 95 97 99 96 90 9A F1
- F0 D0 ED C4 C5 8E CD D1 F8 83 85 9D 9C D8 CC 9B
- D3 DF AA D2 F5 D5 B5 FE DE DA BA E6 FD DD C6 A1
- AD B1 8F BF D7 F6 F7 F2 B0 FF B7 B9 D6 B2 9E A0
-
- "IBM PC code page 865"
- 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
- 10 11 12 13 F4 F5 16 17 18 19 1A 1B 1C 1D 1E 1F
- 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
- 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
- 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
- 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
- 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
- 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
- C4 B3 C0 D9 BF DA C3 C1 B4 C2 C5 B0 B1 B2 D5 F2
- CD BA C8 BC BB C9 CC CA B9 CB CE DF DC DB FE 9F
- FF AD BD 9C AF BE DD 15 F9 B8 A6 AE AA F0 A9 EE
- F8 F1 FD FC EF E6 14 FA F7 FB A7 CF AC AB F3 A8
- B7 B5 B6 C7 8E 8F 92 80 D4 90 D2 D3 DE D6 D7 D8
- D1 A5 E3 E0 E2 E5 99 9E 9D EB E9 EA 9A ED E8 E1
- 85 A0 83 C6 84 86 91 87 8A 82 88 89 8D A1 8C 8B
- D0 A4 95 A2 93 E4 94 F6 9B 97 A3 96 81 EC E7 98
- ---- inverted ----
- 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
- 10 11 12 13 B6 A7 16 17 18 19 1A 1B 1C 1D 1E 1F
- 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
- 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
- 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
- 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
- 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
- 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
- C7 FC E9 E2 E4 E0 E5 E7 EA EB E8 EF EE EC C4 C5
- C9 E6 C6 F4 F6 F2 FB F9 FF D6 DC F8 A3 D8 D7 9F
- E1 ED F3 FA F1 D1 AA BA BF AE AC BD BC A1 AB A4
- 8B 8C 8D 81 88 C1 C2 C0 A9 98 91 94 93 A2 A5 84
- 82 87 89 86 80 8A E3 C3 92 95 97 99 96 90 9A BB
- F0 D0 CA CB C8 8E CD CE CF 83 85 9D 9C A6 CC 9B
- D3 DF D4 D2 F5 D5 B5 FE DE DA DB D9 FD DD AF B4
- AD B1 8F BE 14 15 F7 B8 B0 A8 B7 B9 B3 B2 9E A0
-
- Apple Macintosh
-
- Paul Placeway and I have been looking for an official translation
- table by Apple Inc. that would fulfill the data processing requirement of
- being invertible for the 256 code points. We found none, and Apple
- remained silent to this request. So, I've had to build one. I tried to
- make it compatible with existing translation tables, mainly the official
- "Apple File Exchange" from Apple Inc. that translates between IBM PC code
- and Apple's (hence, indirectly to ISO 8859-1). Many characters of the
- Apple fonts belong to ISO 8859-1 and caused no problem. The translation
- of some characters became incompatible, because the "Apple File Exchange"
- is homographic, which fails to be invertible (e. g. 2 superscript
- translates to plain 2). Others, because the AFE is based on IBM PC 437
- that contains some characters of the Macintosh set that have been
- replaced (giving IBM PC code page 850) with characters of ISO 8859-1.
- (For example, it matched Mac Omega to a 437 Omega that became a 850 U
- circumflex that now has to match the Mac's F3.) Translations that
- remained undefined were chosen to be homographic or mnemonic. Leftovers
- from the 80-FF Mac range have simply be lined up in the 80-9F range of
- ISO 8859-1 without any particular reason.
- After the tables, you will find comments about the choices (why):
- Blank: compatible with AFE (same in both PC 437 and 850).
- S: not in 437/AFE, but ISO character is in "Standard Apple Character Set"
- E: same for "SACS with extensions". Means keyable on newer systems only.
- L: look-alike choice.
- M: mnemonic choice.
- C: "happens" to be compatible with AFE.
- A: arbitrary.
-
- "Standard Apple Macintosh Character Set with extensions"
- 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
- 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
- 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
- 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
- 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
- 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
- 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
- 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
- A5 AA AD B0 B3 B7 BA BD C3 C5 C9 D1 D4 D9 DA DC
- DD E0 E2 E3 E4 F0 F6 F7 F9 FA FB FD FE FF F5 C4
- CA C1 A2 A3 DB B4 A0 A4 AC A9 BB C7 C2 D0 A8 F8
- A1 B1 D3 D2 AB B5 A6 E1 FC D5 BC C8 B9 B8 B2 C0
- CB E7 E5 CC 80 81 AE 82 E9 83 E6 E8 ED EA EB EC
- C6 84 F1 EE EF CD 85 D7 AF F4 F2 F3 86 DF CE A7
- 88 87 89 8B 8A 8C BE 8D 8F 8E 90 91 93 92 94 95
- B6 96 98 97 99 9B 9A D6 BF 9D 9C 9E 9F DE CF D8
- ---- inverted ----
- 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
- 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
- 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
- 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
- 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
- 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
- 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
- 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
- C4 C5 C7 C9 D1 D6 DC E1 E0 E2 E4 E3 E5 E7 E9 E8
- EA EB ED EC EE EF F1 F3 F2 F4 F6 F5 FA F9 FB FC
- A6 B0 A2 A3 A7 80 B6 DF AE A9 81 B4 A8 82 C6 D8
- 83 B1 BE 84 A5 B5 F0 85 BD BC 86 AA BA 87 E6 F8
- BF A1 AC 88 9F 89 D0 AB BB 8A A0 C0 C3 D5 DE FE
- AD 8B B3 B2 8C B9 F7 D7 FF 8D 8E A4 8F 90 FD DD
- 91 B7 92 93 94 C2 CA C1 CB C8 CD CE CF CC D3 D4
- 95 D2 DA DB D9 9E 96 97 AF 98 99 9A B8 9B 9C 9D
-
- ISO Mac AFE 850 Why Mac name
- 80 | A5 | F0 | BA | A | bullet
- 81 | AA | F0 | CD | A | trade mark
- 82 | AD | F0 | C9 | A | not equal
- 83 | B0 | F0 | BB | A | infinity
- 84 | B3 | F0 | C8 | A | greater than or equal to
- 85 | B7 | F0 | BC | A | Uppercase Sigma (Summation)
- 86 | BA | F0 | CC | A | integral
- 87 | BD | F0 | B9 | A | Uppercase Omega
- 88 | C3 | F0 | CB | A | radical (square root)
- 89 | C5 | F0 | CA | A | approx equal
- 8A | C9 | F0 | CE | A | elipsis (...)
- 8B | D1 | F0 | DF | A | em dash
- 8C | D4 | F0 | DC | A | left singlequote ( ` )
- 8D | D9 | F0 | DB | A | Y dieresis
- 8E | DA | F0 | FE | A | divide (a / with less slope)
- 8F | DC | B3 | F2 | A | single left guil (like < )
- 90 | DD | F0 | B3 | A | single left guil (like > )
- 91 | E0 | F0 | C4 | A | double dagger
- 92 | E2 | F0 | DA | A | baseline single close quote
- 93 | E3 | F0 | BF | A | baseline double close quote
- 94 | E4 | F0 | C0 | A | per thousand
- 95 | F0 | F0 | D9 | A | (closed) Apple
- 96 | F6 | F0 | C3 | A | circumflex
- 97 | F7 | F0 | B4 | A | tilde
- 98 | F9 | F0 | C2 | A | breve
- 99 | FA | F0 | C1 | A | dot accent
- 9A | FB | F0 | C5 | A | ring accent
- 9B | FD | F0 | B0 | A | Hungarian umlaut
- 9C | FE | F0 | B1 | A | ogonek
- 9D | FF | F0 | B2 | A | caron
- 9E | F5 | F0 | D5 | AL | dotless i
- 9F | C4 | C4 | 9F | AC | florin
- A0 | CA | FF | FF | AL | non-printing space
- A1 | C1 | C1 | AD | | inverted !
- A2 | A2 | F0 | BD | S | cent
- A3 | A3 | A3 | 9C | | sterling
- A4 | DB | F0 | CF | E | generic curency
- A5 | B4 | F0 | BE | S | yen
- A6 | A0 | F0 | DD | AL | dagger
- A7 | A4 | BA | F5 | S | section
- A8 | AC | A5 | F9 | S | dieresis (AKA umlaut)
- A9 | A9 | F0 | B8 | | copyright ( (C) )
- AA | BB | BB | A6 | | feminine ordinal
- AB | C7 | C7 | AE | | left guillemot (like << )
- AC | C2 | C2 | AA | | logical not
- AD | D0 | 3D | F0 | AL | en dash
- AE | A8 | D1 | A9 | S | registered ( (R) )
- AF | F8 | 45 | EE | AL | macron
- B0 | A1 | A1 | F8 | | superscript ring
- B1 | B1 | B1 | F1 | | plus minus
- B2 | D3 | 32 | FD | AM | right doublequote ( '' )
- B3 | D2 | 6E | FC | AM | left doublequote ( `` )
- B4 | AB | 55 | EF | S | acute accent
- B5 | B5 | B5 | E6 | | greek lowercase mu
- B6 | A6 | BA | F4 | S | paragraph
- B7 | E1 | E1 | FA | EC | centered (small) dot
- B8 | FC | C5 | F7 | E | cedilla
- B9 | D5 | C3 | FB | AM | right singlequote ( ' )
- BA | BC | BC | A7 | | masculine ordinal
- BB | C8 | C8 | AF | | right guillemot (like >> )
- BC | B9 | 34 | AC | A | lowercase pi
- BD | B8 | 32 | AB | A | Uppercase Pi (Power)
- BE | B2 | B2 | F3 | AC | less than or equal to
- BF | C0 | C0 | A8 | | inverted ?
- C0 | CB | F0 | B7 | S | A grave
- C1 | E7 | F0 | B5 | E | A accute
- C2 | E5 | F0 | B6 | E | A circumflex
- C3 | CC | F0 | C7 | S | A tilde
- C4 | 80 | 80 | 8E | | A dieresis
- C5 | 81 | 81 | 8F | | A ring
- C6 | AE | AE | 92 | | AE
- C7 | 82 | 82 | 80 | | C cedilla
- C8 | E9 | F0 | D4 | E | E grave
- C9 | 83 | 83 | 90 | | E accute
- CA | E6 | F0 | D2 | S | E circumflex
- CB | E8 | F0 | D3 | E | E dieresis
- CC | ED | F0 | DE | E | I grave
- CD | EA | F0 | D6 | E | I accute
- CE | EB | F0 | D7 | E | I circumflex
- CF | EC | F0 | D8 | E | I dieresis
- D0 | C6 | F0 | D1 | AL | Uppercase Delta
- D1 | 84 | 84 | A5 | | N tilde
- D2 | F1 | B9 | E3 | E | O grave
- D3 | EE | 61 | E0 | E | O accute
- D4 | EF | C2 | E2 | E | O circumflex
- D5 | CD | 6F | E5 | S | O tilde
- D6 | 85 | 85 | 99 | | O dieresis
- D7 | D7 | 50 | 9E | AM | lozenge (open diamond)
- D8 | AF | B4 | 9D | E | O slash
- D9 | F4 | B6 | EB | E | U grave
- DA | F2 | BC | E9 | E | U accute
- DB | F3 | BD | EA | E | U circumflex
- DC | 86 | 86 | 9A | | U dieresis
- DD | DF | AF | ED | AM | fl
- DE | CE | DB | E8 | AL | OE
- DF | A7 | A7 | E1 | | Es-zed (German double s)
- E0 | 88 | 88 | 85 | | a grave
- E1 | 87 | 87 | A0 | | a accute
- E2 | 89 | 89 | 83 | | a circumflex
- E3 | 8B | F0 | C6 | S | a tilde
- E4 | 8A | 8A | 84 | | a dieresis
- E5 | 8C | 8C | 86 | | a ring
- E6 | BE | BE | 91 | | ae
- E7 | 8D | 8D | 87 | | c cedilla
- E8 | 8F | 8F | 8A | | e grave
- E9 | 8E | 8E | 82 | | e accute
- EA | 90 | 90 | 88 | | e circumflex
- EB | 91 | 91 | 89 | | e dieresis
- EC | 93 | 93 | 8D | | i grave
- ED | 92 | 92 | A1 | | i accute
- EE | 94 | 94 | 8C | | i circumflex
- EF | 95 | 95 | 8B | | i dieresis
- F0 | B6 | F0 | D0 | AL | partial
- F1 | 96 | 96 | A4 | | n tilde
- F2 | 98 | 98 | 95 | | o grave
- F3 | 97 | 97 | A2 | | o accute
- F4 | 99 | 99 | 93 | | o circumflex
- F5 | 9B | B7 | E4 | S | o tilde
- F6 | 9A | 9A | 94 | | o dieresis
- F7 | D6 | D6 | F6 | | divide
- F8 | BF | A2 | 9B | S | o slash
- F9 | 9D | 9D | 97 | | u grave
- FA | 9C | 9C | A3 | | u accute
- FB | 9E | 9E | 96 | | u circumflex
- FC | 9F | 9F | 81 | | u dieresis
- FD | DE | B0 | EC | AM | fi
- FE | CF | A0 | E7 | AM | oe
- FF | D8 | D8 | 98 | | y dieresis
-
-
- ISO 8859-1
-
- Here is a names list and graphic representation of the ISO 8859-1
- code. The well-known ASCII part and control characters have been left out
- to shorten the text. They are included for practical programming help
- only. In particular, the "bitmaps" are nothing official. For convenience,
- two lists of names and acronyms are given: the first comes from IBM, the
- second from a list of characters of the standard IS0 6937.
-
- Code point in hexadecimal / Acronym / Name. Origin: IBM.
-
- A0 | SP30 | required space D0 | LD62 | Eth islandic capital
- A1 | SP03 | exclamation point inv D1 | LN20 | N tilde capital
- A2 | SC04 | cent sign D2 | LO14 | O grave capital
- A3 | SC02 | pound sign D3 | LO12 | O acute capital
- A4 | SC01 | int. currency symbol D4 | LO16 | O circumflex capital
- A5 | SC05 | Yen sign D5 | LO20 | O tilde capital
- A6 | SM65 | Vertical Line, Broken D6 | LO18 | O diaeresis capital
- A7 | SM24 | section/paragraph symb D7 | SA07 | Multiply sign
- A8 | SD17 | diaeresis,umlaut acc D8 | LO62 | O slash capital
- A9 | SM52 | Copyright sign D9 | LU14 | U grave capital
- AA | SM21 | ordinal indicator fem DA | LU12 | U acute capital
- AB | SP17 | left angle quotes DB | LU16 | U circumflex capital
- AC | SM66 | logical NOT, EOL symb DC | LU18 | U diaeresis capital
- AD | SP32 | Syllabe Hyphen DD | LY12 | Y acute Capital
- AE | SM53 | Regist.Trade Mark sym DE | LT64 | Thorn islandic capital
- AF | SM15 | overline DF | LS61 | sharp s small
- B0 | SM19 | Degree Symbol E0 | LA13 | a grave small
- B1 | SA02 | plus or minus sign E1 | LA11 | a acute small
- B2 | ND021| 2 superscript E2 | LA15 | a circumflex small
- B3 | ND031| 3 superscript E3 | LA19 | a tilde small
- B4 | SD11 | acute accent E4 | LA17 | a diaeresis small
- B5 | SM17 | micro symbol E5 | LA27 | a overcircle small
- B6 | SM25 | paragraph symbol USA E6 | LA51 | ae diphthong small
- B7 | SD63 | Middle dot accent E7 | LC41 | c cedilla small
- B8 | SD41 | cedilla accent E8 | LE13 | e grave small
- B9 | ND011| 1 superscript E9 | LE11 | e acute small
- BA | SM20 | ordinal indicator mas EA | LE15 | e circumflex small
- BB | SP18 | right angle quotes EB | LE17 | e diaeresis small
- BC | NF04 | one quarter EC | LI13 | i grave small
- BD | NF01 | one half ED | LI11 | i acute small
- BE | NF05 | three quarters EE | LI15 | i circumflex small
- BF | SP16 | Question mark inverted EF | LI17 | i diaeresis small
- C0 | LA14 | A grave capital F0 | LD63 | Eth Islandic small
- C1 | LA12 | A acute capital F1 | LN19 | n tilde small
- C2 | LA16 | A circumflex capital F2 | LO13 | o grave small
- C3 | LA20 | A tilde capital F3 | LO11 | o acute small
- C4 | LA18 | A diaeresis capital F4 | LO15 | o circumflex small
- C5 | LA28 | A overcircle capital F5 | LO19 | o tilde small
- C6 | LA52 | AE diphthong capital F6 | LO17 | o diaeresis small
- C7 | LC42 | C cedilla capital F7 | SA06 | Divide sign
- C8 | LE14 | E grave capital F8 | LO61 | o slash small
- C9 | LE12 | E acute capital F9 | LU13 | u grave small
- CA | LE16 | E circumflex capital FA | LU11 | u acute small
- CB | LE18 | E diaeresis capital FB | LU15 | u circumflex small
- CC | LI14 | I grave capital FC | LU17 | u diaeresis small
- CD | LI12 | I acute capital FD | LY11 | y acute small
- CE | LI16 | I circumflex capital FE | LT63 | Thorn islandic small
- CF | LI18 | I diaeresis capital FF | LY17 | y diaeresis small
-
- Names and slightly different acronyms from the ISO 6937 repertoire
-
- A0 SP31 NO-BREAK SPACE
- A1 SP03 INVERTED EXCLAMATION MARK
- A2 SC04 CENT SIGN
- A3 SC02 POUND SIGN
- A4 SC01 CURRENCY SIGN
- A5 SC05 YEN SIGN
- A6 SM65 BROKEN BAR
- A7 SM24 PARAGRAPH SIGN
- A8 SD17 DIAERESIS
- A9 SM52 COPYRIGHT SIGN
- AA SM21 FEMININE ORDINAL INDICATOR
- AB SP17 LEFT POINTING DOUBLE ANGLE QUOTATION MARK
- AC SM66 NOT SIGN
- AD SP32 SOFT HYPHEN
- AE SM53 REGISTERED TRADE MARK SIGN
- AF SD31 MACRON
- B0 SM19 DEGREE SIGN
- B1 SA02 PLUS-MINUS SIGN
- B2 NS02 SUPERSCRIPT TWO
- B3 NS03 SUPERSCRIPT THREE
- B4 SD11 ACUTE ACCENT
- B5 SM17 MICRO SIGN
- B6 SM25 PILCHROW SIGN
- B7 SM26 MIDDLE DOT
- B8 SD41 CEDILLA
- B9 NS01 SUPERSCRIPT ONE
- BA SM20 MASCULINE ORDINAL INDICATOR
- BB SP18 RIGHT POINTING DOUBLE ANGLE QUOTATION MARK
- BC NF04 VULGAR FRACTION ONE-QUARTER
- BD NF01 VULGAR FRACTION ONE-HALF
- BE NF05 VULGAR FRACTION THREE-QUARTERS
- BF SP16 INVERTED QUESTION MARK
- C0 LA14 LATIN CAPITAL LETTER A WITH GRAVE ACCENT
- C1 LA12 LATIN CAPITAL LETTER A WITH ACUTE ACCENT
- C2 LA16 LATIN CAPITAL LETTER A WITH CIRCUMFLEX ACCENT
- C3 LA20 LATIN CAPITAL LETTER A WITH TILDE
- C4 LA18 LATIN CAPITAL LETTER A WITH DIAERESIS
- C5 LA28 LATIN CAPITAL LETTER A WITH RING ABOVE
- C6 LA52 LATIN CAPITAL LIGATURE AE
- C7 LC42 LATIN CAPITAL LETTER C WITH CEDILLA
- C8 LE14 LATIN CAPITAL LETTER E WITH GRAVE ACCENT
- C9 LE12 LATIN CAPITAL LETTER E WITH ACUTE ACCENT
- CA LE16 LATIN CAPITAL LETTER E WITH CIRCUMFLEX ACCENT
- CB LE18 LATIN CAPITAL LETTER E WITH DIAERESIS
- CC LI14 LATIN CAPITAL LETTER I WITH GRAVE ACCENT
- CD LI12 LATIN CAPITAL LETTER I WITH ACUTE ACCENT
- CE LI16 LATIN CAPITAL LETTER I WITH CIRCUMFLEX ACCENT
- CF LI18 LATIN CAPITAL LETTER I WITH DIAERESIS
- D0 LD62 LATIN CAPITAL LETTER D WITH STROKE
- D1 LN20 LATIN CAPITAL LETTER N WITH TILDE
- D2 LO14 LATIN CAPITAL LETTER O WITH GRAVE ACCENT
- D3 LO12 LATIN CAPITAL LETTER O WITH ACUTE ACCENT
- D4 LO16 LATIN CAPITAL LETTER O WITH CIRCUMFLEX ACCENT
- D5 LO20 LATIN CAPITAL LETTER O WITH TILDE
- D6 LO18 LATIN CAPITAL LETTER O WITH DIAERESIS
- D7 SA07 MULTIPLICATION SIGN
- D8 LO62 LATIN CAPITAL LETTER O WITH OBLIQUE STROKE
- D9 LU14 LATIN CAPITAL LETTER U WITH GRAVE ACCENT
- DA LU12 LATIN CAPITAL LETTER U WITH ACUTE ACCENT
- DB LU16 LATIN CAPITAL LETTER U WITH CIRCUMFLEX ACCENT
- DC LU18 LATIN CAPITAL LETTER U WITH DIAERESIS
- DD LY12 LATIN CAPITAL LETTER Y WITH ACUTE ACCENT
- DE LT64 LATIN CAPITAL LETTER ICELANDIC THORN
- DF LS61 LATIN SMALL LETTER GERMAN SHARP S
- E0 LA13 LATIN SMALL LETTER A WITH GRAVE ACCENT
- E1 LA11 LATIN SMALL LETTER A WITH ACUTE ACCENT
- E2 LA15 LATIN SMALL LETTER A WITH CIRCUMFLEX ACCENT
- E3 LA19 LATIN SMALL LETTER A WITH TILDE
- E4 LA17 LATIN SMALL LETTER A WITH DIAERESIS
- E5 LA27 LATIN SMALL LETTER A WITH RING ABOVE
- E6 LA51 LATIN SMALL LIGATURE AE
- E7 LC41 LATIN SMALL LETTER C WITH CEDILLA
- E8 LE13 LATIN SMALL LETTER E WITH GRAVE ACCENT
- E9 LE11 LATIN SMALL LETTER E WITH ACUTE ACCENT
- EA LE15 LATIN SMALL LETTER E WITH CIRCUMFLEX ACCENT
- EB LE17 LATIN SMALL LETTER E WITH DIAERESIS
- EC LI13 LATIN SMALL LETTER I WITH GRAVE ACCENT
- ED LI11 LATIN SMALL LETTER I WITH ACUTE ACCENT
- EE LI15 LATIN SMALL LETTER I WITH CIRCUMFLEX ACCENT
- EF LI17 LATIN SMALL LETTER I WITH DIAERESIS
- F0 LD63 LATIN SMALL LETTER ICELANDIC ETH
- F1 LN19 LATIN SMALL LETTER N WITH TILDE
- F2 LO13 LATIN SMALL LETTER O WITH GRAVE ACCENT
- F3 LO11 LATIN SMALL LETTER O WITH ACUTE ACCENT
- F4 LO15 LATIN SMALL LETTER O WITH CIRCUMFLEX ACCENT
- F5 LO19 LATIN SMALL LETTER O WITH TILDE
- F6 LO17 LATIN SMALL LETTER O WITH DIAERESIS
- F7 SA06 DIVISION SIGN
- F8 LO61 LATIN SMALL LETTER O WITH OBLIQUE STROKE
- F9 LU13 LATIN SMALL LETTER U WITH GRAVE ACCENT
- FA LU11 LATIN SMALL LETTER U WITH ACUTE ACCENT
- FB LU15 LATIN SMALL LETTER U WITH CIRCUMFLEX ACCENT
- FC LU17 LATIN SMALL LETTER U WITH DIAERESIS
- FD LY11 LATIN SMALL LETTER Y WITH ACUTE ACCENT
- FE LT63 LATIN SMALL LETTER ICELANDIC THORN
- FF LY17 LATIN SMALL LETTER Y WITH DIAERESIS
-
- ISO 8859-1 by pictures
-
- -------------------------------------------------------------------------
- | A0 | A1 | A2 | A3 | A4 | A5 | A6 | A7 |
- |--------|--------|--------|--------|--------|--------|--------|--------|
- | | XX | XX | XXX | | XX XX | XX | XXXXX |
- | | | XX | XX XX |XX XX | XX XX | XX | XX X|
- | | XX | XXXXXX | XX X | XXXXX | XXXX | XX | XXXX |
- | | XX |XX |XXXX |XX XX | XXXXXX | | XX XX |
- | | XXXX |XX | XX |XX XX | XX | | XX XX |
- | | XXXX | XXXXXX | XX XX | XXXXX | XXXXXX | XX | XXXX |
- | | XX | XX |XXXXXX |XX XX | XX | XX |X XX |
- | | | XX | | | XX | XX | XXXXX |
- -------------------------------------------------------------------------
-
- -------------------------------------------------------------------------
- | A8 | A9 | AA | AB | AC | AD | AE | AF |
- |--------|--------|--------|--------|--------|--------|--------|--------|
- | | XXXXXX | XXXX | | | | XXXXXX |XXXXXXXX|
- |XX XX |X X| XX XX | XX XX| | |X X| |
- | |X XXX X| XX XX | XX XX | | |X XXX X| |
- | |X X X| XXXXX |XX XX |XXXXXXX | XXXXXX |X X X X| |
- | |X X X| | XX XX | XX | |X XXX X| |
- | |X XXX X| XXXXXX | XX XX| XX | |X X X X| |
- | |X X| | | | |X X| |
- | | XXXXXX | | | | | XXXXXX | |
- -------------------------------------------------------------------------
-
- -------------------------------------------------------------------------
- | B0 | B1 | B2 | B3 | B4 | B5 | B6 | B7 |
- |--------|--------|--------|--------|--------|--------|--------|--------|
- | XXX | XX | XXXX | XXXX | XX | | XXXXXXX| |
- | XX XX | XX | XX | XX | XX | |XX XX XX| |
- | XX XX | XXXXXX | XX | XXX | XX | XX XX |XX XX XX| |
- | XXX | XX | XX | XX | | XX XX | XXXX XX| XX |
- | | XX | XXXXX | XXXX | | XX XX | XX XX| |
- | | | | | | XX XX | XX XX| |
- | | XXXXXX | | | | XXXXX | XX XX| |
- | | | | | |XX | | |
- -------------------------------------------------------------------------
-
- -------------------------------------------------------------------------
- | B8 | B9 | BA | BB | BC | BD | BE | BF |
- |--------|--------|--------|--------|--------|--------|--------|--------|
- | | XX | XXX | | XX XX| XX XX|XXX X| XX |
- | | XXX | XX XX |XX XX |XXX XX |XXX XX | XX X | |
- | | XX | XX XX | XX XX | XX XX | XX XX |XXX X | XX |
- | | XX | XXX | XX XX| XXXX X | XXXXXX | XXX X | XX |
- | | XXXX | | XX XX | XX XX | XX XX|XXXX XX | XX |
- | XX | | XXXXX |XX XX | XX X X | XX XX | X X X | XX XX|
- | XX | | | |XX XXXXX|XX XX | X XXXXX| XXXXX |
- | XXX | | | | XX | XXXX|X XX | |
- -------------------------------------------------------------------------
-
- -------------------------------------------------------------------------
- | C0 | C1 | C2 | C3 | C4 | C5 | C6 | C7 |
- |--------|--------|--------|--------|--------|--------|--------|--------|
- | XX | XX | XXXXX | XXX XX |XX XX | XXX | XXXXX | XXXXX |
- | XX | XX |X X |XX XXX | XXX | XX XX | XX XX |XX XX |
- | XXX | XXX | XXX | XXX | XX XX | XXXXX |XX XX |XX |
- | XX XX | XX XX | XX XX | XX XX |XX XX |XX XX |XXXXXXX |XX |
- |XX XX |XX XX |XX XX |XX XX |XXXXXXX |XXXXXXX |XX XX |XX XX |
- |XXXXXXX |XXXXXXX |XXXXXXX |XXXXXXX |XX XX |XX XX |XX XX | XXXXX |
- |XX XX |XX XX |XX XX |XX XX |XX XX |XX XX |XX XXX | XX |
- | | | | | | | | XXXX |
- -------------------------------------------------------------------------
-
- -------------------------------------------------------------------------
- | C8 | C9 | CA | CB | CC | CD | CE | CF |
- |--------|--------|--------|--------|--------|--------|--------|--------|
- | XX | XX | XXXXX |XX XX | XX | XX | XXXX | XX XX |
- | XX | XX |X X | | XX | XX | X X | |
- |XXXXXXX |XXXXXXX |XXXXXXX |XXXXXXX | XXXX | XXXX | XXXX | XXXX |
- |XX |XX |XX |XX | XX | XX | XX | XX |
- |XXXXXX |XXXXX |XXXXXX |XXXXXX | XX | XX | XX | XX |
- |XX |XX |XX |XX | XX | XX | XX | XX |
- |XXXXXXX |XXXXXXX |XXXXXXX |XXXXXXX | XXXX | XXXX | XXXX | XXXX |
- | | | | | | | | |
- -------------------------------------------------------------------------
-
- -------------------------------------------------------------------------
- | D0 | D1 | D2 | D3 | D4 | D5 | D6 | D7 |
- |--------|--------|--------|--------|--------|--------|--------|--------|
- |XXXXX | XXX XX | XX | XX | XXXXX | XXX XX |XX XX | |
- | XX XX |XX XXX | XX | XX |X X |XX XXX | XXX |XX XX |
- | XX XX | | XXX | XXX | XXX | XXX | XX XX | XX XX |
- |XXXX XX |XXX XX | XX XX | XX XX | XX XX | XX XX |XX XX | XXX |
- | XX XX |XXXX XX |XX XX |XX XX |XX XX |XX XX |XX XX | XX XX |
- | XX XX |XX XXXX | XX XX | XX XX | XX XX | XX XX | XX XX |XX XX |
- |XXXXX |XX XXX | XXX | XXX | XXX | XXX | XXX | |
- | | | | | | | | |
- -------------------------------------------------------------------------
-
- -------------------------------------------------------------------------
- | D8 | D9 | DA | DB | DC | DD | DE | DF |
- |--------|--------|--------|--------|--------|--------|--------|--------|
- | XXX X | XX | XX | XXXXX |XX XX | XX |XXXX | XXXX |
- | XX XX | XX | XX |X X | | XX | XX |XX XX |
- |XX XXX |XX XX |XX XX | |XX XX | XX XX | XXXXX |XX XX |
- |XX X XX |XX XX |XX XX |XX XX |XX XX | XX XX | XX XX |XX XX |
- |XXX XX |XX XX |XX XX |XX XX |XX XX | XXXX | XXXXX |XX XX |
- | XX XX |XX XX |XX XX |XX XX |XX XX | XX | XX |XX XX |
- |X XXX | XXXXX | XXXXX | XXXXX | XXXXX | XXXX |XXXX |XX XX |
- | | | | | | | | |
- -------------------------------------------------------------------------
-
- -------------------------------------------------------------------------
- | E0 | E1 | E2 | E3 | E4 | E5 | E6 | E7 |
- |--------|--------|--------|--------|--------|--------|--------|--------|
- | XX | XX | XXXXX | XXX XX |XX XX | XX | | |
- | XX | XX |X X |XX XXX | | XX | | |
- | XXXX | XXXX | XXXX | XXXXX | XXXX | XXXX | XXXXXX | XXXXXX |
- | XX | XX | XX | XX | XX | XX | X X |XX |
- | XXXXX | XXXXX | XXXXX | XXXXXX | XXXXX | XXXXX |XXXXXXX |XX |
- |XX XX |XX XX |XX XX |XX XX |XX XX |XX XX |X X | XXXXXX |
- | XXX XX | XXX XX | XXX XX | XXXXXX | XXX XX | XXX XX |XXXXXXX | XX |
- | | | | | | | | XXX |
- -------------------------------------------------------------------------
-
- -------------------------------------------------------------------------
- | E8 | E9 | EA | EB | EC | ED | EE | EF |
- |--------|--------|--------|--------|--------|--------|--------|--------|
- | XX | XX | XXXXX |XX XX | XX | XX | XXXXX | XX XX |
- | XX | XX |X X | | XX | XX |X X | |
- | XXXXX | XXXXX | XXXXX | XXXXX | | | XXX | XXX |
- |XX XX |XX XX |XX XX |XX XX | XXX | XXX | XX | XX |
- |XXXXXXX |XXXXXXX |XXXXXXX |XXXXXXX | XX | XX | XX | XX |
- |XX |XX |XX |XX | XX | XX | XX | XX |
- | XXXXX | XXXXX | XXXXX | XXXXX | XXXX | XXXX | XXXX | XXXX |
- | | | | | | | | |
- -------------------------------------------------------------------------
-
- -------------------------------------------------------------------------
- | F0 | F1 | F2 | F3 | F4 | F5 | F6 | F7 |
- |--------|--------|--------|--------|--------|--------|--------|--------|
- | XX | XXX XX | XX | XX | XXXXX | XXX XX |XX XX | |
- | XXXXXX |XX XXX | XX | XX |X X |XX XXX | | XX |
- | XX | | XXXXX | XXXXX | XXXXX | XXXXX | XXXXX | |
- | XXXXX |XX XXX |XX XX |XX XX |XX XX |XX XX |XX XX | XXXXXX |
- |XX XX | XX XX |XX XX |XX XX |XX XX |XX XX |XX XX | |
- |XX XX | XX XX |XX XX |XX XX |XX XX |XX XX |XX XX | XX |
- | XXXX | XX XX | XXXXX | XXXXX | XXXXX | XXXXX | XXXXX | |
- | | | | | | | | |
- -------------------------------------------------------------------------
-
- -------------------------------------------------------------------------
- | F8 | F9 | FA | FB | FC | FD | FE | FF |
- |--------|--------|--------|--------|--------|--------|--------|--------|
- | | XX | XX | XXXX |XX XX | XX |XXX |XX XX |
- | X | XX | XX |X X | | XX | XX | |
- | XXXXX |XX XX |XX XX | |XX XX |XX XX | XXXXX |XX XX |
- |XX XXX |XX XX |XX XX |XX XX |XX XX |XX XX | XX XX |XX XX |
- |XX X XX |XX XX |XX XX |XX XX |XX XX |XX XX | XX XX |XX XX |
- |XXX XX |XX XX |XX XX |XX XX |XX XX | XXXXXX | XXXXX | XXXXXX |
- | XXXXX | XXX XX | XXX XX | XXX XX | XXX XX | XX | XX | XX |
- |X | | | | |XXXXXX |XXXX |XXXXXX |
- -------------------------------------------------------------------------
-
- Andr'e PIRARD
- SEGI Univ. de Li`ege
- B26 - Sart Tilman
- B-4000 Li`ege 1 (Belgium)
- PIRARD@BLIULG11 on EARN alias BITNET
- pirard@vm1.ulg.ac.be on Internet
-